var b_pro_qtd = true;
var abr_caixa = false;
var fch_caixa = false;

$(document).ready(function () {
    
    $('#PRO_NOM').focus();
    
    $('#PRO_NOM').blur(function(){
        if($(this).val().length == 0) $('#PRO_ID,#PRO_NOM,#PRO_VLRVND,#PRO_QTD,#PRO_VLRVNDTOT').val('');
    });
    
    $('#lancar').click(function(){ 
        var html = '';
        
        verqtdproduto();
        
        
        if($('#PRO_ID').val() > 0 && $('#PRO_QTD').val() > 0.0 && b_pro_qtd == true){
            
            modal();
            
            verfchcaixa();
            
            var id = $('#PRO_ID').val();
            
            html += '<tr>';
            html += '<td>'+$('#PRO_NOM').val()+'</td>';
            html += '<td>'+$('#PRO_QTD').val()+' x R$ '+$('#PRO_VLRVND').val()+'</td>';
            html += '<td> R$ '+$('#PRO_VLRVNDTOT').val()+'</td>';
            html += '<td><input type="hidden" name="PRO_ID[]" value="'+$('#PRO_ID').val()+'">';
            html += '<input type="hidden" name="PRO_VLRVND[]" value="'+$('#PRO_VLRVND').val()+'">';
            html += '<input type="hidden" name="PRO_VLRVNDTOT[]" value="'+$('#PRO_VLRVNDTOT').val()+'" class="valtot">';
            html += '<input type="hidden" name="PRO_QTD[]" value="'+$('#PRO_QTD').val()+'" class="_'+$('#PRO_ID').val()+'">';
            html += '<button type="button" class="btn btn-sm btn-danger remover"><span class="glyphicon glyphicon-floppy-remove" aria-hidden="true"></span> Remover</button></td>';
            html += '</tr>';
            $('#lista').append(html);
            
            var val1 = parseFloat($('#VND_VLRSUB').val());
            var val2 = parseFloat($('#PRO_VLRVNDTOT').val());
            
            if(val1 <= 0.0) val1 = 0;
            if(val2 <= 0.0) val2 = 0;
            
            var TOTAL = val1 + val2;
           
            TOTAL = truncate(TOTAL);           
            $('#VND_VLR,#VND_VLRSUB').val(TOTAL); // add total
            
            $('#PRO_ID,#PRO_NOM,#PRO_VLRVND,#PRO_QTD,#PRO_VLRVNDTOT').val('');
            remove_modal();
            $('#PRO_NOM').focus();
        }
        else if($('#PRO_QTD').val() <= 0.0 || b_pro_qtd == false){
            modal_msg('Preencher todas as informações do lançamento!');
            b_pro_qtd = true;
        }
    });
    
    $(document).on("click",".remover", function() {
        modal();
        var valtot = parseFloat($(this).parent().find('.valtot').val());
        var valvnd = parseFloat($('#VND_VLRSUB').val());
        var TOTAL = valvnd - valtot;
        TOTAL = truncate(TOTAL);
        if(TOTAL <= 0.0) TOTAL = 0;
        $('#VND_VLR,#VND_VLRSUB').val(TOTAL);
        $(this).parent().parent().remove(); 
        remove_modal();
    });
    
    $('.find').autocomplete({
        source: URLBASE+'/'+CONTROL+'/buscaproduto/',
        minLength: 3,
        select: function( event, ui ) {
            $(".find_id").val(ui.item.id);
            $(".find").val(ui.item.value);
            $(".find_prc").val(ui.item.preco);
        }
    });
    
    $('#PRO_QTD').blur(function(){
        var val1 = parseFloat($('#PRO_VLRVND').val());
        var val2 = parseFloat($('#PRO_QTD').val());
        
        if(val1 <= 0.0) val1 = 0;
        if(val2 <= 0.0) val2 = 0;
        
        var TOTAL = val1 * val2;
        
        TOTAL = truncate(TOTAL);
        $('#PRO_VLRVNDTOT').val(TOTAL);
    });
    
    $('#VND_VLRDSC').blur(function(){
        desconto();
    });
    
    $('.submit').click(function(){
        
        desconto();
        
        if($('#VND_VLR').val() <= 0.0 || $('#VND_VLR').val() == ''){
            modal_msg('Total da venda deve ser maior que zero!');
            return false;
        }
        else if($('#TMP_ID').val() <= ''){
            modal_msg('Informe o meio de pagamento!');
            return false;
        }
        else {
            document.getElementById("form_edt").submit();
        }
    });
    
    
    $('#PRO_QTD').blur(function(){
        verqtdproduto();
    });
    
    $(document).on( "click", ".btn-modal_msg_btn", function() {
        if(abr_caixa){
            remove_modal_msg_btn();
            $('#AbrirCaixaModal').modal('show');
            abr_caixa = false;
        }else if(fch_caixa){
            remove_modal_msg_btn();
            $('#FecharCaixaModal').modal('show');
            fch_caixa = false;
        }       
    });
    
    
    $('.btn-abrir-caixa').click(function(){
        $.post(URLBASE+'/'+CONTROL+'/abrircaixa',{ vlr_ini : $('#vlr_ini').val(), obs_ini : $('#obs_ini').val() }, function(data) {
            if(data.ok){
                b_pro_qtd = true;
                $('#AbrirCaixaModal').modal('hide');
            }else{
                b_pro_qtd = false;
            }
        }, 'json');
    });
    
    $('.btn-fechar-caixa').click(function(){
        $.post(URLBASE+'/'+CONTROL+'/fecharcaixa',{ vlr_fim : $('#vlr_fim').val(), obs_fim : $('#obs_fim').val() }, function(data) {
            if(data.ok){
                b_pro_qtd = true;
                $('#FecharCaixaModal').modal('hide');
                verabrcaixa();
            }else{
                b_pro_qtd = false;
            }
        }, 'json');
    });
    
    
});


function truncate(TOTAL){
    //TOTAL = Math.floor(TOTAL * 100) / 100; // trucar numero, erro conforme a quantidade de itens
    //correto
    var res = TOTAL.toString();
    while(res.indexOf('.') != -1) { 
        res = res.split(".",2);
        var TOT = res[0] +'.'+ res[1].substring(0,2); //for (var i in res) alert(res[i]);      
        TOTAL = parseFloat(TOT);
    }
    if(TOTAL <= 0.0 || isNaN(TOTAL)) TOTAL = 0.00;
    return TOTAL;
}

function desconto(){
    var val1 = parseFloat($('#VND_VLRSUB').val());
    var val2 = parseFloat($('#VND_VLRDSC').val());

    if(val1 <= 0.0) val1 = 0;
    if(val2 <= 0.0) val2 = 0;

    var TOTAL = val1 - val2;

    TOTAL = truncate(TOTAL);

    if(TOTAL <= 0.0) TOTAL = val1;

    $('#VND_VLR').val(TOTAL);
}

function verqtdproduto(){
    var id = $('#PRO_ID').val();
    var qtd = $('#PRO_QTD').val();
    var qtd_usd = 0;
    $('._'+id).each(function(index){ qtd_usd += parseFloat($(this).val()); });
    if(id > 0 && qtd > 0){
        modal();
        $.post(URLBASE+'/'+CONTROL+'/verqtdproduto',{ pro_id : id , pro_qtd : qtd, pro_qtd_usd : qtd_usd  }, function(data) {
            if(data.ok){
                b_pro_qtd = true;
            }else{
                b_pro_qtd = false;
                modal_msg(data.msg);
            }
            remove_modal();
        }, 'json');
    }
}
function verfchcaixa(){
    b_pro_qtd = false;
    remove_modal();
    $.post(URLBASE+'/'+CONTROL+'/verfchcaixa',{ }, function(data) {
        if(data.ok){
            b_pro_qtd = true;
            verabrcaixa();
        }else{
            b_pro_qtd = false;
            fch_caixa = true;
            modal_msg_btn(data.msg);
        }
    }, 'json');
}

function verabrcaixa(){
    b_pro_qtd = false;
    remove_modal();
    $.post(URLBASE+'/'+CONTROL+'/verabrcaixa',{ }, function(data) {
        if(data.ok){
            b_pro_qtd = true;
        }else{
            b_pro_qtd = false;
            abr_caixa = true;
            modal_msg_btn(data.msg);
        }
    }, 'json');
}
